Systems and methods for modeling of dynamic waterflood well properties

ABSTRACT

Implementations described and claimed herein provide systems and methods for dynamic waterflood forecast modeling utilizing deep thinking computational techniques to reduce the processing time for generating the forecast model and improving the accuracy of resulting forecasts. In one particular implementation, a dataset of a field may be restructured into the spatio-temporal framework and data driven deep neural networks may be utilized to learn the nuances of data interactions to make more accurate forecasts for each well in the field. Further, the generated model may forecast a single time segment and build the complete forecast through recursive prediction instances. The temporal component of the restructured data may include all or a portion of the production history of the field divided into spaced time intervals. The spatial component of the restructure data may include, within each epoch, a computed or estimated spatial relationships of all existing wells.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority to U.S. Provisional Patent Application No. 63/276,909 filed on Nov. 8, 2021, which is incorporated by reference in its entirety herein.

FIELD

Aspects of the present disclosure relate generally to systems and methods for developing forecasts and models of oil wells and, more particularly, to predictive modeling to forecast oil and water production in complex waterflood operations (such as waterflood injection, drawdown, infill drilling, injection well, etc.) utilizing deep learning and computer vision techniques.

BACKGROUND

Production of hydrocarbons involves forming one or more wells in a subterranean formation to retrieve the hydrocarbons from beneath the surface. In some instances, multiple wells may be formed in what is known as a “field” to access one or more subsurface reservoirs. To improve the location of wells in the field, predictive models may be built and used to forecast oil and water production from the wells. Typically, forecast models for an individual well use historical data from that well. One potential technology for forecasting includes using two segmented hyperbolic-decline type curves for each reservoir area. However, the type curve methodology may have high error rates when applied on an individual well basis. One of the main sources of high error values from the forecasts using the type curve methodology is due to the interactions between nearby injectors and producers. More particularly, many fields may utilize waterflooding or water injection processes to inject water into an oil reservoir to maintain pressure in the reservoir and drive the oil towards the wells to increase well production. Type curve forecast models, however, are typically unable to address the interactions between wells and injectors such that errors of the forecast models may be high.

It is with these observations in mind, among others, that various aspects of the present disclosure were conceived and developed.

SUMMARY

Implementations described and claimed herein address the foregoing problems by providing systems and methods for generating a forecast model of a well field. In one implementation, an input dataset comprising dividing an input dataset comprising field data into a plurality of timeframes. Further, the divided input dataset may be restructured based on a spatial component associated with a target well of the well field. Based on the divided and restructured input dataset and utilizing a deep learning computing technique, a plurality of trained production forecast models and an optimized production forecast model from the plurality of trained production forecast models may be selected and stored.

Other implementations are also described and recited herein. Further, while multiple implementations are disclosed, still other implementations of the presently disclosed technology will become apparent to those skilled in the art from the following detailed description, which shows and describes illustrative implementations of the presently disclosed technology. As will be realized, the presently disclosed technology is capable of modifications in various aspects, all without departing from the spirit and scope of the presently disclosed technology. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not limiting.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example network environment that may implement various systems and methods discussed herein.

FIG. 2 is a block diagram illustrating example data flow for generating a dynamic waterflood forecast model utilizing deep thinking techniques.

FIG. 3 illustrates example operations for generating a dynamic waterflood forecast model.

FIG. 4 shows an example graph illustrating temporally splitting field well data into epochs for use in training a dynamic waterflood forecast model.

FIG. 5 shows an example graph illustrating separating field well data spatially with reference to a target well for use in training a dynamic waterflood forecast model.

FIG. 6A is a block diagram illustrating example data flow for generating a recursive prediction of a well production using in trained dynamic waterflood forecast model.

FIG. 6B is a block diagram illustrating example data flow for generating a recursive forecast of a well production using in trained dynamic waterflood forecast model.

FIG. 7 is a block diagram illustrating example data flow for ranking infill and side-track drilling locations of a production field using in trained dynamic waterflood forecast model.

FIG. 8 shows an example block diagram of a dynamic waterflood generation system for generating a dynamic waterflood forecast model.

FIG. 9 shows an example computing system that may implement various systems and methods discussed herein.

DETAILED DESCRIPTION

Aspects of the present disclosure involve systems and methods for dynamic waterflood forecast modeling utilizing deep thinking computational techniques to reduce the processing time for generating the forecast model and improving the accuracy of resulting forecasts. In one particular implementation, a dataset of a field may be restructured into the spatio-temporal framework and data driven deep neural networks may be utilized to learn the nuances of data interactions to make more accurate forecasts for each well in the field. Further, the generated model may forecast a single time segment and build the complete forecast through recursive prediction instances. The temporal component of the restructured data may, in some instances, include all or a portion of the production history of the field divided into equally spaced time intervals (referred to herein as “epochs”). The spatial component of the restructure data may include, within each epoch and for each well, a computed or estimated spatial relationships of all existing wells. In one particular example, for each producing well that exists at a specific epoch, nearby producing and injecting wells are identified and assigned to four circles of increasing distance from the target well. Various features for each of spatially-distant circles may be calculated, including but not limited to, a number of producers, injectors, total fluid produced/injected, and average production/injection. These spatial features may be used as input to the deep learning model, presenting a representation through the training data of the impact to the target wells' production from interactions between nearby wells. In general, the output targets of the deep learning model are well production parameters, such as liquid rate and oil rate of each interval as affected by nearby wells. As such, the output of the forecast model provides a higher accuracy result than previous technologies that utilize data from a single well to determine a production forecast. Other advantages will be apparent from the present disclosure.

To begin a detailed discussion of an example asset development system 100, reference is made to FIG. 1 . FIG. 1 illustrates an example network environment 100 for implementing the various systems and methods, as described herein. As depicted in FIG. 1 , a network 104 is used by one or more computing or data storage devices for implementing the systems and methods for generating one or more dynamic waterflood forecast models using the dynamic waterflood modeling system 102. In one implementation, various components of the reservoir modeling system 102, one or more user devices 106, one or more databases 110, and/or other network components or computing devices described herein are communicatively connected to the network 104. Examples of the user devices 106 include a terminal, personal computer, a smart-phone, a tablet, a mobile computer, a workstation, and/or the like.

A server 108 may, in some instances, host the system. In one implementation, the server 108 also hosts a website or an application that users may visit to access the network environment 100, including the dynamic waterflood modeling system 102. The server 108 may be one single server, a plurality of servers with each such server being a physical server or a virtual machine, or a collection of both physical servers and virtual machines. In another implementation, a cloud hosts one or more components of the system. The dynamic waterflood modeling system 102, the user devices 106, the server 108, and other resources connected to the network 104 may access one or more additional servers for access to one or more websites, applications, web services interfaces, etc. that are used for reservoir modeling.

FIG. 2 is a block diagram illustrating example data flow 200 for generating a dynamic waterflood forecast model utilizing deep thinking techniques. Through the data flow 200 of FIG. 2 , a dynamic waterflood forecast model may be generated incorporating data from a multiple nearby well interactions resulting in more accurate forecast models. In one particular implementation, the steps outlined in the data flow 200 of FIG. 2 may be executed by the dynamic waterflood modeling system 102 automatically or in response inputs provided through a user interface to generate an optimized dynamic waterflood model. In other instances, however, any component of the network environment 100 may execute one or more applications as described in relation to the data flow 200 of FIG. 2 .

The data flow 200 may include accessing a database 202 of field data and extracting raw data 204 as an input to a deep learning system. The extracted raw data 204 may include, among other types of data, completion parameters, daily production data, daily injection data, fault polygon shapefiles, geology data (such as geology maps), petrophysics data and/or maps, wellbore trajectory data, well event data, and the like. In general, the number and types of extracted data 204 may vary such that no particular types of field data 202 is required to generate the dynamic waterflood forecast model. Rather, any datasets may be supplied as input to the model generation system 208, although additional data may result in a more detailed dynamic waterflood forecast model provided by the dynamic waterflood modeling system 102.

Portions of the data flow 200 of FIG. 2 may utilize the extracted dataset 204 to execute one or more of the operations illustrated in the flowchart of FIG. 3 . In particular, FIG. 3 illustrates example operations for generating a dynamic waterflood forecast model. The operations may be performed by a computing device configured to execute any machine learning or artificial intelligent algorithm, including deep learning techniques. Such operations may be executed through control of one or more hardware components, one or more software programs, or a combination of both hardware and software components of the computing device.

Beginning in operation 302, the computing device may receive any field-related dataset 204 for inclusion in modeling an extraction field of wells. As explained above, such a dataset 204 may include field-specific data (such as geology data or maps of the field), general data (such as petrophysics data), and/or production data (such as completion parameters, daily production data, daily injection data). Such data may be obtained and stored in field database 202 illustrated in FIG. 2 . In operation 304, the computing device may divide the extracted historical field data 204 obtained from the database 202 into defined epochs. In particular, a portion or the entirety of the production history field represented by the field data may be divided into equally spaced time intervals. FIG. 4 shows an example graph 400 illustrating temporally splitting field well data (in this example, oil output rate of a well) into epochs for use in training a dynamic waterflood forecast model. The graph 400 includes a graph of output rate 402 along a y-axis versus time 404 along an x-axis. The oil rate 406 of the analyzed well is graphed for the indicated time interval of the x-axis based on the raw data 204 extracted from the database 202. In addition, the computing device may divide the time interval indicated along the x-axis into defined epoch or set duration. For example, the time interval 404 of the graph 400 of FIG. 4 is divided into epochs 408 of a defined duration, indicated by the red line illustrating the duration of each epoch. In some instances, each epoch 408 may be of the same duration such that the time interval 404 of the extracted data is divided into equal sections. In other instances, however, one or more of the epochs 408 may have a different duration than another epoch of the dataset.

As mentioned, the duration of the epochs 408 into which the dataset may be divided may be defined. For example, the duration of one or more of the epochs 408 may be set by the computing device as part of the dynamic waterflood modeling system 102. In another example, a user of the modeling system 102 may, such as through a user interface described in more detail below, instruct or otherwise provide the dynamic waterflood modeling system on a duration of one or more of the epochs 408. In one particular example, epoch intervals of one quarter of a year (e.g., three months) may be selected for the duration of the epochs 408, although other intervals may also be selected or determined. In one instance, the duration of the epochs 408 may be based on a size of the extracted dataset 204. For example, a longer epoch duration may be selected for a larger dataset of historical field data while a shorter epoch duration may be selected for a smaller dataset, to prevent overloading the processing of the dynamic waterflood modeling system 102. In general, increasing or decreasing the time interval or duration of the epochs 408 may introduce trade-offs between overly smoothing out meaningful events in the former or introducing too much process noise in the latter.

In addition to dividing the field dataset into defined epochs, the computing device may also, in operation 306, restructure the dataset in a spatial context to one or more of the wells of the field. In particular, within each epoch 408, spatial relationships of the existing wells may be computed or estimated. FIG. 5 shows an example graph 500 illustrating separating field well data spatially with reference to a target well 502 for use in training a dynamic waterflood forecast model. In one instance, the computing system of the dynamic waterflood modeling system 102 may, for each producing well in the field associated with the field data that produces at a specific epoch 408, nearby producing and injecting wells maybe identified and assigned to circles of increasing distance from the target well. The graph 500 illustrated in FIG. 5 shows an example spatial restructuring of the field data in relation to a target well 502 producing during a noted epoch 408. Data associated with other producer wells 514 (indicated in the graph 500 as circles) and injector wells 512 (indicated in the graph as triangles) is obtained from the dataset for the noted epoch 408. Further, the data for the producing wells 514 and injector wells 512 may be associated or collected based on a spatial relationship to the target well 502. In the illustrated example, concentric circles centered around the target well 502 may be determined at various distances from the target well, such as a first ring 504 at 200 meters, a second ring 506 at 400 meters, a third ring 508 at 600 meters, a fourth ring 510 at 800 meters, and so on. Data from the injector wells 512 and/or producer wells 514 may be collected based on location within or near one of the distance rings 504-510. As should be appreciated, the distance of the rings 504-510 from the target well 502 may be any distance and may, in some instances, be based on an overall size of the field from which the data is obtained. Further, the distance of the rings 504-510 to the target well 502 may be received from a user via a user interface, as described in more detail below. In other instances, the distances of the rings 504-510 to the target well 502 may be adjusted and optimized by the computing device during dynamic waterflood forecast model generation.

Various features for each of these distance rings 504-510 from the target well 502 may be calculated or otherwise determined from the extracted raw data 204, including but not limited to the number of producer wells 514 within the corresponding distance ring, the number of injector wells 512, a total fluid produced/injected within the corresponding distance ring, an average production/injection within the corresponding distance ring, drawdown/wellhead pressures, and age of the wells in terms of cumulative producing/injecting hours, and the like. As mentioned above, the data may be spatially restructured for each active or producing well in a field for a particular epoch 408. Thus, the computing device may restructure the dataset into a spatio-temporal framework, represented by the data manipulation block 206 of the data flow 200 of FIG. 2 . The resulting time series framework may also be merged with other key information such as well completion, drilling, and geology data to create a final dataset of static and dynamic features for the field. The manipulated or restructured dataset may be used as input to a deep learning model generating system, presenting a representation through the training data of the impact to the target wells' production from interactions between nearby wells within the field.

Returning to the method 300 of FIG. 3 and in operation 308, the computing device of the dynamic waterflood modeling system 102 may iteratively train multiple models, based on the spatio-temporal framework, to generate dynamic waterflood forecast model. In particular and using the system 200 of FIG. 2 as an example, the spatio-temporal data of the field may be provided to a model generation 208 and/or model optimization 210 system. The model generation system 208 may use deep learning technology, such as a multi-layer perceptron architecture with embedded encoder blocks, to generate thousands of the models using the spatio-temporal data. In general, the encoder blocks improve the models performance by simplifying the data creating a lower level representation of the data. In addition, the dynamic waterflood modeling system 102 may use the model optimization system 210 to train the models to provide more accurate forecasts. The model optimization 210 may also use the spatio-temporal data to refine and improve the generated models. This iterative process of model generation and optimization may be repeated thousands of times to enable models with different hyper-parameters (aspects unique to the architecture of the model) to be trained and tested. During the training phase, custom loss functions may be used to coerce the model to make predictions within allowable ranges through greater penalty if a constraint is violated. The resulting best model according to standard regression metrics is then chosen after rigorous tests and diagnostic tests and output as an optimized forecast model 212. In some instances, multiple optimized models may be generated through the data flow 200.

In one implementation, model optimization 210 may be applied to each generated model from the model generation system 208 to determine an accuracy of the model to the input datasets 206. Through a determined error obtained from the application of the various models to the model optimization 210, the dynamic waterflood modeling system 102 may determine how accurate or how closely the generated model corresponds to the input dataset 206. The dynamic waterflood modeling system 102 may then alter the generated model based on the determined error to address and attempt to eliminate the error. This process of model generation and optimization may be repeated until the determined error of the model falls below a threshold value. In this manner, the dynamic waterflood modeling system 102 may utilize techniques to generate or alter generated models that are trained, through the above-described iterative process, to accurately represent the dataset 206.

In some instances, the dynamic waterflood modeling system 102 may communicate with a user interface through which a user may interact the generated forecast models. Thus, in operation 310, one or more of the generated and optimized forecast models may be utilized, perhaps through the user interface, to make a prediction of an aspect of the well field that accounts for data obtained from all or a portion of the wells of the field. Further, as described in more detail below with reference to FIG. 8 , a user of the interface may provide inputs for use in dynamic waterflood modeling, including definitions of epoch duration, distances from a target well for distance rings, optimization thresholds, and the like.

The generated forecasting model may be utilized to provide two types (among others) of prediction/forecasting of the field. In one example, referred to herein as “recursive prediction”, a prediction of a production of the field is made against the history of the production wells of the field. The recursive prediction may, in particular, be used as a benchmarking feature for the field, such as measuring performance of the deep learning model against other models e.g. type curves, and for generating results for ‘what-if’ scenarios (observing the change in model output with respect to different set of input parameters), although other uses of the recursive prediction function are contemplated. In another example, a “recursive forecast” technique may be used to forecast the future performance of the wells of the field. In one instance, the recursive forecast technique includes input of assumed injection and production profiles strategies for all wells in the field. The Recursive Forecast module can help operators with evaluating different well management strategies. Using the presumed profiles, the waterflood model can forecast both oil and water production for the wells (full field forecast). In general, the recursive prediction technique and the recursive forecast technique use a recursion methodology in which the prediction of the prior time interval may be fed to the subsequent interval as input, as illustrated in FIGS. 6A and 6B.

FIG. 6A is a block diagram illustrating example data flow 600 for generating a recursive prediction of a well production using a trained dynamic waterflood forecast model. As mentioned, the recursive prediction technique may predict or estimate oil rate forecast (or other production aspect of the field) using actual production and injection data as input. More particularly, a prediction may be made for each epoch 608 using actual ring feature data 602, actual injection data 604, and actual drawdown data 606, among other possible data input. The recursive prediction result 610 for a particular epoch 608 may then be provided to the next epoch of data 612 as an input. The recursive prediction result 610 may include a predicted oil production, a predicted liquid production, a prediction water production, and the like. In general, the recursive prediction technique may be utilized by the dynamic waterflood forecasting system 102 or a user of the system to verify well production results, optimize well production, and simulate “what-if” scenarios of one or more wells of the field.

Similarly, FIG. 6B is a block diagram illustrating example data flow 620 for generating a recursive forecast of a well production using a trained dynamic waterflood forecast model. As mentioned, the recursive prediction technique may predict or estimate oil rate forecasts (or other production aspect of the field) of some or all producing wells of the field into the future for over any number of epochs 628. More particularly, a prediction may be made for each epoch 628 using calculated ring feature data 622, assumed injection data 624, and assumed drawdown data 626, among other possible data input. Also similar to above, the recursive prediction result 630 for a particular epoch 628 may then be provided to the next epoch of data 632 as an input. The recursive prediction result 630 may include a predicted oil production, a predicted liquid production, a prediction water production, and the like. In general, the recursive prediction technique may be utilized by the dynamic waterflood forecasting system 102 or a user of the system for ranking infill locations (described in more detail below), sidetrack timing, and/or field/waterflood optimization.

In addition to recursive prediction and recursive forecast techniques, the generated model may also be used to predict one or more locations to drill new producing wellbores (aka infill drilling wells) and future side-tracks. In particular, FIG. 7 is a block diagram illustrating example data flow 700 for ranking infill and side-track drilling locations of a production field using in trained dynamic waterflood forecast model. In one instance, the dynamic waterflood forecast model may predict oil/water production for each grid point in a given field associated with the field data. In particular, given a set of gridded information containing geology data and assumed completion/drilling data, the dynamic waterflood forecast model predicts the production of each grid point, hence ranking all locations of the field to select best areas in the field to drill, and discover new prosperous areas.

As shown in the data flow 700 of FIG. 7 , the dynamic waterflood forecast model 102 may incorporate various types of input data 702, including but not limited to, controllable data such as static data, epoch start data, completion code data, completion data, trajectory data, and/or layer code data. Known data may also be input, such as platform code data, area code data, and/or well event data. The input data 702 may also include calculated data, such calculated ring data, and geology-based data, including fault grade data. This geology, completion, fluid, well operating conditions, and/or past and current performance data may be processed by the dynamic waterflood forecast model 102 to make prediction in undrilled locations. The output 704 of the model 102 may provide a gridded map of predictions from which potential infill and sidetrack locations across the entire field may be obtained within a couple of minutes of processing time.

FIG. 8 shows an example block diagram of a dynamic waterflood model generation system 800 for one or more dynamic waterflood forecast models for a production field using spatio-temporal manipulated data. In general, the system 800 may include a dynamic waterflood model generation tool 806. In one implementation, the dynamic waterflood model generation tool 808 may be a part of the dynamic waterflood modeling system 102 of FIG. 1 . As shown in FIG. 8 , the dynamic waterflood model generation tool 806 may be in communication with a computing device 822 providing a user interface 824. As explained in more detail below, the dynamic waterflood model generation tool 806 may be accessible to various users to generate a dynamic waterflood model based on field data 202. In some instances, access to the dynamic waterflood model generation tool 806 may occur through the user interface 824 executed on the computing device 822.

As explained above, the dynamic waterflood model generation tool 806 may generate an optimized dynamic waterflood model 212 based on transformed or manipulated field data 202. As such, the dynamic waterflood model generation tool 806 may include a waterflood model generation application 812 executed to perform one or more of the operations described herein. The waterflood model generation application 812 may be stored in a computer readable media 810 (e.g., memory) and executed on a processing system 808 of the waterflood model generation tool 806 or other type of computing system, such as that described below. For example, the waterflood model generation application 812 may include instructions that may be executed in an operating system environment, such as a Microsoft Windows™ operating system, a Linux operating system, or a UNIX operating system environment. The computer readable medium 810 includes volatile media, nonvolatile media, removable media, non-removable media, and/or another available medium. By way of example and not limitation, non-transitory computer readable medium 810 comprises computer storage media, such as non-transient storage memory, volatile media, nonvolatile media, removable media, and/or non-removable media implemented in a method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data.

The waterflood model generation application 812 may also utilize a data source 820 of the computer readable media 810 for storage of data and information associated with the waterflood model generation tool 806. For example, the waterflood model generation application 812 may store information associated with iterations of the generated waterflood models, temporal-adjusted field data, spatially-adjusted field data, prediction or forecast results, and the like. As described in more detail below, various generated models may be stored and used via the user interface 824 to simulate or otherwise determine field performance or conditions such that trained or optimized waterflood models for various fields may be stored in the data source 820.

The waterflood model generation application 812 may include several components to perform one or more of the operations described herein. For example, the waterflood model generation application 812 may include a training data manager 814 to manage and/or manipulate the extracted field data 204 stored in the database 202. For example, the training data manager 814 may divide the extracted data into epochs as explained above. The training data manager 814 may also restructure the extracted data 204 spatially in relation to a target well of the analyzed field from which the data is obtained. Other manipulation of the extracted data 204 may also be conducted by the training data manager 814 to generate the manipulated data 206 for use in training the dynamic waterflood model.

The waterflood model generation application 812 may also include a deep learning trainer 816 to generate and/or train one or more waterflood models based on an input dataset 206 received from the training data manager 814. As explained above, the deep learning trainer 816 may include any machine learning or artificial intelligence techniques to generate a waterflood model from the input dataset 206. In one particular implementation, the deep learning trainer 816 may employ a neural network to execute an artificial intelligence algorithm on the dataset 206 to generate one or more waterflood models from the input dataset.

A recursive predictor 818 may also be included and executed by the waterflood model generation application 812. In general, the recursive predictor 818 may generate a recursive prediction of a well or field production using a trained dynamic waterflood forecast model. The recursive prediction technique may predict or estimate oil rate forecast (or other production aspect of the field) using actual production and injection data as input. As mentioned, the recursive prediction of the predictor 818 may be made for each epoch of the dataset 206 using actual data and may be utilized to verify well production results, optimize well production, and simulate “what-if” scenarios of one or more wells of the field. The waterflood model generation application 812 may also include a recursive forecastor 826. In general, the recursive predictor 818 may generate a recursive forecast of a well or field production using a trained dynamic waterflood forecast model. The recursive prediction technique may predict or estimate oil rate forecast (or other production aspect of the field) using assumed production and injection data as input. As mentioned, the recursive forecast of the forecastor 8826 may be made for each epoch of the dataset 206 and may be utilized for ranking infill locations (described in more detail below), sidetrack timing, and/or field/waterflood optimization.

It should be appreciated that the components described herein are provided only as examples, and that the application 812 may have different components, additional components, or fewer components than those described herein. For example, one or more components as described in FIG. 4 may be combined into a single component. As another example, certain components described herein may be encoded on, and executed on other computing systems. Further, more or fewer of the components discussed above with relation to the waterflood model generation tool 806 may be included with the tool, including additional components or modules included to perform the operations of the waterflood modeling system 102 discussed herein.

Several advantages over previous ways to generating a waterflood model may be gained through the methods and systems described herein. For example, the waterflood modeling system 102 may facilitate higher prediction accuracy on a well by well basis over previous modeling techniques. The modeling system 102 may also provide the ability to benchmark different injection/production strategies and provide guidelines for waterflood management, assist the field operators to find best locations to drill new wells and potentially increase field recovery (Infill drilling location identification), and provide the ability to prediction quantify uncertainty and provide bounded estimates on predictions. Additional advantages include providing guidelines on injector placement strategy, a flexible framework that can be easily applied to other fields undergoing waterflood process, fast results as computation times are in seconds for individual wells to minutes for full field forecasts, and ease of use as the waterflood model may be embedded into a user interface, enabling non-machine learning astute users the ability to make predictions and forecasts. The modeling system 102 may also produce production forecasts relatively free of interpretation bias and is entirely data driven, aid in assess new well/sidetrack placement (P/I) and investigating well down-spacing/Pattern Changes, optimizing Producer-to-Injector conversions, predict ‘Producer End-of-Life’, optimize Injection Rates and zonal Injection Control (Regulators), and optimize Zonal Production/Injection Allocation, among other benefits.

Referring to FIG. 9 , a detailed description of an example computing system 900 having one or more computing units that may implement various systems and methods discussed herein is provided. The computing system 900 may be applicable to the dynamic waterflood modeling system 102 of FIG. 1 , the system 100, and other computing or network devices. It will be appreciated that specific implementations of these devices may be of differing possible specific computing architectures not all of which are specifically discussed herein but will be understood by those of ordinary skill in the art.

The computer system 900 may be a computing system is capable of executing a computer program product to execute a computer process. Data and program files may be input to the computer system 900, which reads the files and executes the programs therein. Some of the elements of the computer system 900 are shown in FIG. 9 , including one or more hardware processors 902, one or more data storage devices 904, one or more memory devices 908, and/or one or more ports 908-910. Additionally, other elements that will be recognized by those skilled in the art may be included in the computing system 900 but are not explicitly depicted in FIG. 9 or discussed further herein. Various elements of the computer system 900 may communicate with one another by way of one or more communication buses, point-to-point communication paths, or other communication means not explicitly depicted in FIG. 9 .

The processor 902 may include, for example, a central processing unit (CPU), a microprocessor, a microcontroller, a digital signal processor (DSP), and/or one or more internal levels of cache. There may be one or more processors 902, such that the processor 902 comprises a single central-processing unit, or a plurality of processing units capable of executing instructions and performing operations in parallel with each other, commonly referred to as a parallel processing environment.

The computer system 900 may be a conventional computer, a distributed computer, or any other type of computer, such as one or more external computers made available via a cloud computing architecture. The presently described technology is optionally implemented in software stored on the data stored device(s) 904, stored on the memory device(s) 906, and/or communicated via one or more of the ports 908-910, thereby transforming the computer system 900 in FIG. 9 to a special purpose machine for implementing the operations described herein. Examples of the computer system 900 include personal computers, terminals, workstations, mobile phones, tablets, laptops, personal computers, multimedia consoles, gaming consoles, set top boxes, and the like.

The one or more data storage devices 904 may include any non-volatile data storage device capable of storing data generated or employed within the computing system 900, such as computer executable instructions for performing a computer process, which may include instructions of both application programs and an operating system (OS) that manages the various components of the computing system 900. The data storage devices 904 may include, without limitation, magnetic disk drives, optical disk drives, solid state drives (SSDs), flash drives, and the like. The data storage devices 904 may include removable data storage media, non-removable data storage media, and/or external storage devices made available via a wired or wireless network architecture with such computer program products, including one or more database management products, web server products, application server products, and/or other additional software components. Examples of removable data storage media include Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc Read-Only Memory (DVD-ROM), magneto-optical disks, flash drives, and the like. Examples of non-removable data storage media include internal magnetic hard disks, SSDs, and the like. The one or more memory devices 906 may include volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM), etc.) and/or non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.).

Computer program products containing mechanisms to effectuate the systems and methods in accordance with the presently described technology may reside in the data storage devices 904 and/or the memory devices 906, which may be referred to as machine-readable media. It will be appreciated that machine-readable media may include any tangible non-transitory medium that is capable of storing or encoding instructions to perform any one or more of the operations of the present disclosure for execution by a machine or that is capable of storing or encoding data structures and/or modules utilized by or associated with such instructions. Machine-readable media may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more executable instructions or data structures.

In some implementations, the computer system 900 includes one or more ports, such as an input/output (I/O) port 908 and a communication port 910, for communicating with other computing, network, or reservoir development devices. It will be appreciated that the ports 908-910 may be combined or separate and that more or fewer ports may be included in the computer system 900.

The I/O port 908 may be connected to an I/O device, or other device, by which information is input to or output from the computing system 900. Such I/O devices may include, without limitation, one or more input devices, output devices, and/or environment transducer devices.

In one implementation, the input devices convert a human-generated signal, such as, human voice, physical movement, physical touch or pressure, and/or the like, into electrical signals as input data into the computing system 900 via the I/O port 908. Similarly, the output devices may convert electrical signals received from computing system 900 via the I/O port 908 into signals that may be sensed as output by a human, such as sound, light, and/or touch. The input device may be an alphanumeric input device, including alphanumeric and other keys for communicating information and/or command selections to the processor 902 via the I/O port 908. The input device may be another type of user input device including, but not limited to: direction and selection control devices, such as a mouse, a trackball, cursor direction keys, a joystick, and/or a wheel; one or more sensors, such as a camera, a microphone, a positional sensor, an orientation sensor, a gravitational sensor, an inertial sensor, and/or an accelerometer; and/or a touch-sensitive display screen (“touchscreen”). The output devices may include, without limitation, a display, a touchscreen, a speaker, a tactile and/or haptic output device, and/or the like. In some implementations, the input device and the output device may be the same device, for example, in the case of a touchscreen.

The environment transducer devices convert one form of energy or signal into another for input into or output from the computing system 900 via the I/O port 908. For example, an electrical signal generated within the computing system 900 may be converted to another type of signal, and/or vice-versa. In one implementation, the environment transducer devices sense characteristics or aspects of an environment local to or remote from the computing device 900, such as, light, sound, temperature, pressure, magnetic field, electric field, chemical properties, physical movement, orientation, acceleration, gravity, and/or the like. Further, the environment transducer devices may generate signals to impose some effect on the environment either local to or remote from the example computing device 900, such as, physical movement of some object (e.g., a mechanical actuator), heating or cooling of a substance, adding a chemical substance, and/or the like.

In one implementation, a communication port 910 is connected to a network by way of which the computer system 900 may receive network data useful in executing the methods and systems set out herein as well as transmitting information and network configuration changes determined thereby. Stated differently, the communication port 910 connects the computer system 900 to one or more communication interface devices configured to transmit and/or receive information between the computing system 900 and other devices by way of one or more wired or wireless communication networks or connections. Examples of such networks or connections include, without limitation, Universal Serial Bus (USB), Ethernet, Wi-Fi, Bluetooth®, Near Field Communication (NFC), Long-Term Evolution (LTE), and so on. One or more such communication interface devices may be utilized via the communication port 910 to communicate one or more other machines, either directly over a point-to-point communication path, over a wide area network (WAN) (e.g., the Internet), over a local area network (LAN), over a cellular (e.g., third generation (3G) or fourth generation (4G) or fifth generation (5G) network), or over another communication means. Further, the communication port 910 may communicate with an antenna or other link for electromagnetic signal transmission and/or reception.

In an example implementation, waterflood model data, and software and other modules and services may be embodied by instructions stored on the data storage devices 904 and/or the memory devices 906 and executed by the processor 902. The computer system 900 may be integrated with or otherwise form part of the dynamic waterflood modeling system 102.

The system set forth in FIG. 9 is but one possible example of a computer system that may employ or be configured in accordance with aspects of the present disclosure. It will be appreciated that other non-transitory tangible computer-readable storage media storing computer-executable instructions for implementing the presently disclosed technology on a computing system may be utilized.

In the present disclosure, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are instances of example approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented.

The described disclosure may be provided as a computer program product, or software, that may include a non-transitory machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The machine-readable medium may include, but is not limited to, magnetic storage medium, optical storage medium; magneto-optical storage medium, read only memory (ROM); random access memory (RAM); erasable programmable memory (e.g., EPROM and EEPROM); flash memory; or other types of medium suitable for storing electronic instructions.

While the present disclosure has been described with reference to various implementations, it will be understood that these implementations are illustrative and that the scope of the present disclosure is not limited to them. Many variations, modifications, additions, and improvements are possible. More generally, embodiments in accordance with the present disclosure have been described in the context of particular implementations. Functionality may be separated or combined in blocks differently in various embodiments of the disclosure or described with different terminology. These and other variations, modifications, additions, and improvements may fall within the scope of the disclosure as defined in the claims that follow. 

What is claimed is:
 1. A method for generating a forecast model of a well field, the method comprising: generating a divided input dataset by dividing an input dataset comprising field data into a plurality of timeframes; restructuring the divided input dataset based on a spatial component associated with a target well of the well field; training, based on the input dataset and utilizing a deep learning computing technique, a plurality of production forecast models; and generating an optimized production forecast model from the plurality of trained production forecast models.
 2. The method of claim 1 further comprising: extracting the input dataset from a database of raw field data comprising production data from a plurality of wells of the well field.
 3. The method of claim 2, wherein the plurality of wells comprise at least one oil well and at least one injector well.
 4. The method of claim 2, wherein restructuring the divided input dataset comprises: establishing one or more distance rings defining a distance from the target well; and determining one or more wells of the well field are located within the one or more distance rings.
 5. The method of claim 4, wherein a first defined distance of a first distance ring of the one or more distance rings is larger than a second defined distance of a second distance ring of the one or more distance rings.
 6. The method of claim 1, wherein at least two of the plurality of timeframes encompasses a different duration.
 7. The method of claim 1, further comprising: recursively executing the optimized production forecast model to generate a production prediction of a well of the well field, the optimized production forecast model receiving measured production data from the field data.
 8. The method of claim 1, further comprising: recursively executing the optimized production forecast model to generate a production forecast of a well of the well field, the optimized production forecast model receiving assumed production data from the field data.
 9. The method of claim 8, further comprising: displaying, on a user interface, the generated production forecast of the well of the well field.
 10. The method of claim 1, further comprising: generating and displaying a map of infill locations associated with the well field, the infill locations generated by the optimized production forecast model.
 11. One or more tangible non-transitory computer-readable storage media storing computer-executable instructions for performing a computer process on a computing system, the computer process comprising: dividing an input dataset comprising field data into a plurality of timeframes; restructuring the input dataset based on a spatial component associated with a target well of a well field; training, based on the input dataset and utilizing a deep learning computing technique, a plurality of production forecast models; and generating an optimized production forecast model from the plurality of trained production forecast models.
 12. The one or more tangible non-transitory computer-readable storage media of claim 11, the computer process further comprising: extracting the input dataset from a database of raw field data comprising production data from a plurality of wells of the well field.
 13. The one or more tangible non-transitory computer-readable storage media of claim of claim 12, wherein the plurality of wells comprise at least one oil well and at least one injector well.
 14. The one or more tangible non-transitory computer-readable storage media of claim of claim 12, wherein restructuring the divided input dataset comprises: establishing one or more distance rings defining a distance from the target well; and determining one or more wells of the well field are located within the one or more distance rings.
 15. The one or more tangible non-transitory computer-readable storage media of claim 11, wherein at least two of the plurality of timeframes encompasses a different duration.
 16. The one or more tangible non-transitory computer-readable storage media of claim 11, the computer process further comprising: recursively executing the optimized production forecast model to generate a production prediction of a well of the well field, the optimized production forecast model receiving measured production data from the field data.
 17. The one or more tangible non-transitory computer-readable storage media of claim 11, the computer process further comprising: recursively executing the optimized production forecast model to generate a production forecast of a well of the well field, the optimized production forecast model receiving assumed production data from the field data.
 18. The one or more tangible non-transitory computer-readable storage media of claim of claim 17, the computer process further comprising: rendering the generated production forecast of the well of the well field for display on a user interface.
 19. The one or more tangible non-transitory computer-readable storage media of claim 11, the computer process further comprising: generating and displaying a map of infill locations associated with the well field, the infill locations generated by the optimized production forecast model.
 20. A system for generating a forecast model of a well field, the system comprising: a waterflood modeling system having at least one processor configured to generate a plurality of production forecast models trained based on an input dataset and using a deep learning computing technique, the input dataset divided into a plurality of timeframes and restructured based on a spatial component associated with a target well of the well field, the waterflood modeling system generating an optimized production forecast model from the plurality of trained production forecast models. 